Camera-based orientation fix from portrait to landscape

ABSTRACT

A portable electronic device includes a camera and a display switchable between a portrait mode and a landscape mode in response to an inertial sensor. When it is determined that the display mode should be switched in response to movement of the device, a feature of a user of the device, such as the user&#39;s face, is imaged with the camera. If the imaged feature changes orientation with respect to the display by less than a threshold amount, then the switch in display mode is disabled and the display remains in its current mode. Other embodiments are also described and claimed.

BACKGROUND

1. Field

The invention relates generally to the field of displays for portable handheld electronic devices and, more particularly, to a display that is switched between portrait and landscape modes as a function of a sensed orientation of the user.

2. Background

Portable data and media display devices, such as mobile telephones, e-book readers, tablet computers and the like typically have rectangular display screens with a “portrait” orientation. It is often desirable to view content in a “landscape” orientation. This can be accomplished by rotating the display screen by 90° and selecting a landscape presentation (or landscape display mode). A manual selection may be provided, but many devices now have inertial sensors to automatically select a landscape presentation when rotation of the device is sensed.

In some situations, the user of a portable device may not want the display mode to change when the device is rotated. For example, a user may start reading email messages or playing a game while sitting upright, but may then decide to lie down while continuing to use the device. The user does not want the display mode to change in such a situation because the relative orientation of the user's eyes with respect to the display screen has not changed. While a manual display mode selection may be provided to override the inertial sensor, this is an inconvenient solution to the problem.

SUMMARY

An embodiment of the present invention is a mode of operation in a portable electronic device, for stabilizing the display of the device with respect to the user's face. The portable electronic device has a camera and a display screen for which the display mode is switchable between a portrait mode and a landscape mode in response to an inertial sensor. When it is determined that the display mode should be switched in response to movement of the device, a feature of a user of the device, such as the user's face, is imaged with the camera. If the imaged feature changes orientation with respect to the device by less than a threshold amount, then the switch in display mode is disabled so that the display mode remains in its current mode.

The above summary does not include an exhaustive list of all aspects of the present invention. It is contemplated that the invention includes all systems and methods that can be practiced from all suitable combinations of the various aspects summarized above, as well as those disclosed in the Detailed Description below and particularly pointed out in the claims filed with the application. Such combinations have particular advantages not specifically recited in the above summary.

BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments of the invention are illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment of the invention in this disclosure are not necessarily to the same embodiment, and they mean at least one.

FIGS. 1A-1C illustrate a device with portrait and landscape display modes selected in accordance with an embodiment of the present invention.

FIG. 2 is a functional flow diagram of a display mode selection process in accordance with an embodiment of the present invention.

FIG. 3 is a functional block diagram of an electronic device in which embodiments of the present invention may be practiced.

DETAILED DESCRIPTION

Throughout the description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without some of these specific details. In other instances, well-known structures and devices are shown in block diagram form to avoid obscuring the underlying principles of embodiments of the present invention.

Portable handheld electronic devices, such as the iPod™ and iPhone™ multifunction devices by Apple Inc., have a display screen for viewing photos, videos, documents, web content and other media. A device of this type, denoted as 10, is shown in FIG. 1A. The display screen 12 is typically configured with a height greater than the width in the normal orientation of the device so that objects on the screen are said to be displayed in “portrait” display mode as shown in FIG. 1A. While the device 10 is being held in this orientation, the text and other content is displayed horizontally which is consistent with the horizontal orientation of user 20's eyes. Device 10, as is the case with many similar devices, has a built-in accelerometer or similar inertial sensor to detect the movement and orientation of the device. With this capability and suitable display software, the device may be rotated 90°, and objects on the display screen will then be presented in “landscape” display mode as shown in FIG. 1B. Text and other content remains displayed horizontally.

Referring again to FIG. 1A, device 10 includes a built-in front-facing digital camera 14. The imaging lens 110 (see FIG. 3) of the camera 14 is aimed out of the front face of the device 10, in which the display screen 12 is located. As will be more fully explained below, camera 14 is used to capture an image of the device user 20 while the user is facing the display screen 12, in order to override the usual selection of the portrait or landscape display mode in certain situations. As seen in FIG. 1B, the selection of the landscape mode upon rotation of the device 10 by 90° is appropriate for the orientation of user 20. In FIG. 1C, however, the user is reclining and the user's eyes are now oriented along a generally vertical line as opposed to the horizontal orientation in FIGS. 1A and 1B. Here, it is appropriate to maintain the display in the portrait mode even though device 10 has been rotated 90° as compared to FIG. 1A since the displayed text and other content will remain properly oriented with respect to the user's eyes.

A process for implementing an embodiment of the present invention is shown in FIG. 2. The process can be performed by a suitably programmed processor in the device 10 (e.g., an applications processor). The process begins with user selection of a mode of operation of the portable device that stabilizes the display with respect to the user's face at 20. This may be accomplished with a menu selection, by launching a special purpose application, by depressing a manual switch or by other means known to those skilled in the art. The process may be automatically selected in certain applications. An image of the user's face is captured with the front-facing camera 14 and is then analyzed at 22 to establish a starting reference for the user's orientation. This may be done, for example, by determining the orientation of a line passing through the user's eyes in the plane of the image, relative to the orientation of the portable device (e.g., its display screen) at that time. The latter may be considered to be the reference orientation of the device and can be determined using an inertial sensor (e.g., an accelerometer, a multi-axis turn rate gyro) in the device, in accordance with known techniques. Facial analysis algorithms suitable for the purposes of this invention, including recognizing the user's eyes in the image, are also known to those skilled in the art. For example, the iPhoto™ application by Apple Inc. uses facial detection to identify faces of people in photographs. For instance, the relative orientation (user's eyes relative to display screen) may be as in FIG. 1A and may be stored as the angle computed between a straight line crossing the user's eyes in the captured image, and the X-axis of the camera's image sensor.

The device's accelerometer or other integrated inertial sensor is monitored at 24 to determine when the device 10 has been tilted sufficiently to otherwise trigger a switch of the display mode from portrait to landscape or vice versa. This may be an entirely conventional operation. If a tilt is detected in such operation, an image of the user's face captured with the front-facing camera at that point is again analyzed at 26 to determine if the user's orientation has likewise changed. If the orientation of the device has tilted without a corresponding change in the user's orientation, then the display mode is switched at 28. On the other hand, if the user's orientation has also changed such that the user's face remains in approximately the same orientation relative to the display screen, then the current display mode is maintained at 30. In other words, if the image feature of the user's face changes orientation with respect to the device's orientation by less than a threshold amount (e.g., a predetermined angle such as 45°), then the switching of the display mode is disabled. Thus, in the example above, if the line crossing the user's eyes remains within 45° of the image sensor's X-axis, then the user's orientation has not changed enough to allow the display mode to be switched. Multiple images of the user, which may be captured by the same camera 14 as the device 10 is tilted from one orientation to another (e.g., horizontal to vertical or vice versa), may be analyzed to make the determination as to how much the user's feature changes its orientation.

FIG. 3 depicts a block diagram of an exemplary portable handheld multifunction device 10 in which an embodiment of the invention may be implemented. The device 10 has a processor 102 that executes instructions to carry out operations associated with the device 10. The instructions may be retrieved from memory 104 and, when executed, control the reception and manipulation of input and output data between various components of device 10. Although not shown, the memory 104 may store an operating system program that is executed by the processor 102, and one or more application programs are said to run on top of the operating system to perform specific functions. The display screen 106 displays a graphical user interface (GUI) that allows a user of the device 10 to interact with various application programs running in the device 10. The GUI displays icons or graphical images that represent application programs, files, and their associated commands on the screen 106. These may include windows, fields, dialog boxes, menus, buttons, cursors, scrollbars, etc. The user can select from these graphical images or objects to initiate the functions associated therewith.

In one embodiment, the screen 106 is a touch screen that also acts as an input device to transfer data from the outside world into the device 10. This input is received via, for example, the user's finger touching the surface of the screen 106, but it may also be received via physical buttons on the device 10.

Camera functionality of the device 10 (or camera 14, see FIG. 1) may be enabled by the following components. One or more solid state image sensors 108 are built into the device 10 and each may be located at a focal plane of an optical system that includes a respective lens 110. An optical image of a scene within the camera's field of view is formed on the image sensor 108, and the sensor 108 responds by capturing the scene in the form of a digital image or picture consisting of pixels that will then be stored in memory 104. The image sensor 108 may include a solid state image sensor chip with several options available for controlling how an image is captured.

The device 10 may operate not just in a digital camera mode, but also in mobile voice and/or data telecommunications modes. These are enabled by the following components. An integrated antenna 112 that is driven and sensed by RF circuitry 114 is used to transmit and receive cellular network communication signals from a nearby base station (not shown). A mobile phone application executed by the processor 102 presents mobile telephony options on the screen 106 for the user, such as a virtual telephone keypad with call and end buttons. The mobile phone application also controls at a high level the two-way conversation in a typical mobile telephone call, by directing a speech signal from the built-in microphone 116 to the RF circuitry, while at the same time directing a speech signal from the other side of the conversation through the receiver or ear speaker 118. The mobile phone application also responds to the user's selection of the receiver volume, by detecting actuation of a physical volume control 120. Although not shown, the processor 102 may include a cellular base band processor that is responsible for much of the digital audio signal processing functions and cellular network protocol signaling associated with a cellular phone call, including encoding and decoding the voice signals of the participants to the conversation. Likewise, processor 102 may include a data communications processor that is responsible for encoding and decoding, and/or packetization and depacketization of data, for transmission and reception over one or more wireless data networks.

The device 10 may be placed in any of its available modes of operation, such as a mobile telephone mode, a digital camera mode or a web browsing mode, in response to, for example, the user actuating a physical menu button 122 and then selecting an appropriate icon on the display device of the screen 106. Any of various application programs stored in memory 104 may be similarly selected by the user.

The device 10 includes an inertial sensor 124 such as an accelerometer, which may be a three-dimensional accelerometer that detects acceleration in three axial directions of the device 10, i.e. the up-down direction (Y-axis), the left-right direction (X-axis), and the front-rear direction (the Z-axis). The accelerometer allows the inclinations and movements of the device 10 in the X-axis, Y-axis and Z-axis directions to be determined. In an alternative embodiment, a rate gyro may be employed that detects rotation of the device 10 about the Z-axis. Acceleration or turn rate data detected by the sensor 124 is transmitted to the processor 102 for processing to enable determination of the position, orientation, and/or movement of the device 10. This information may then be processed to select between portrait and landscape display modes when the orientation of device 10 reaches predetermined limits.

It will be apparent from this description that aspects of the present invention may be embodied, at least in part, in software, hardware, firmware, or in combination thereof. That is, the techniques may be carried out in a computer system or other data processing system in response to its processor, such as a microprocessor, executing sequences of instructions contained in a memory, such as ROM, volatile RAM, non-volatile memory, cache, or a remote storage device. In various embodiments, hardwired circuitry may be used in combination with software instructions to implement the present invention. Thus, the techniques are not limited to any specific combination of hardware circuitry and software or to any particular source for the instructions executed by the data processing system. In addition, throughout this description, various functions and operations are described as being performed by or caused by software code to simplify description. However, those skilled in the art will recognize that what is meant by such expressions is that the functions result from execution of code by a processor, such as a microprocessor.

A machine-readable medium can be used to store software and data which when executed by the data processing system causes the system to perform various methods of the present invention. This executable software and data may be stored in various places including for example ROM, volatile RAM, non-volatile memory, and/or cache. Portions of this software and/or data may be stored in any one of these storage devices.

The invention also relates to apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored or transmitted in a machine-readable medium. A machine-readable medium includes any mechanism that provides (i.e., stores and/or transmits) information in a form accessible by a machine (e.g., a computer, network device, personal digital assistant, manufacturing tool, any device with a set of one or more processors, etc.). For example, a machine readable medium includes recordable/non-recordable media such as, but not limited to, a machine-readable storage medium (e.g., any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, flash memory, magnetic or optical cards, or any type of media suitable for storing electronic instructions), or a machine-readable transmission medium such as, but not limited to, any type of electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.).

Additionally, it will be understood that the various embodiments described herein may be implemented with a variety of data processing systems. For example, such data processing systems may be a cellular telephone or a personal digital assistant (PDA) or an entertainment system or a media player (e.g., an iPod) or a consumer electronic device, etc., each of which can be used to implement one or more of the embodiments of the invention.

Throughout the foregoing specification, references to “one embodiment,” “an embodiment,” “an example embodiment,” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. When a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to bring about such a feature, structure, or characteristic in connection with other embodiments whether or not explicitly described. Various changes may be made in the structure and embodiments shown herein without departing from the principles of the invention. Further, features of the embodiments shown in various figures may be employed in combination with embodiments shown in other figures.

In the description as set forth above and claims, the terms “coupled” and “connected,” along with their derivatives, may be used. It should be understood that these terms are not intended to be synonymous with each other. Rather, in particular embodiments, “connected” is used to indicate that two or more elements are in direct physical or electrical contact with each other. “Coupled” may mean that two or more elements are in direct physical or electrical contact. However, “coupled” may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other.

Some portions of the detailed description as set forth above are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the discussion as set forth above, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.

The algorithms and displays presented herein are not inherently related to any particular computer system or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatuses to perform the method operations. The structure for a variety of these systems appears from the description above. In addition, the invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.

Embodiments of the invention may include various operations as set forth above or fewer operations or more operations or operations in an order that is different from the order described herein. The operations may be embodied in machine-executable instructions that cause a general-purpose or special-purpose processor to perform certain operations. Alternatively, these operations may be performed by specific hardware components that contain hardwired logic for performing the operations, or by any combination of programmed computer components and custom hardware components.

Throughout the foregoing description, for the purposes of explanation, numerous specific details were set forth in order to provide a thorough understanding of the invention. It will be apparent, however, to one skilled in the art that the invention may be practiced without some of these specific details. Accordingly, the scope and spirit of the invention should be judged in terms of the claims that follow as well as the legal equivalents thereof. 

1-10. (canceled)
 11. A method for use in a portable electronic device having a camera, an inertial sensor, a processor and a display screen, the method comprising: detecting by the inertial sensor movement of the device representing a change in orientation of the device relative to gravity; capturing by the camera an image of a user of the device in response to the detecting; and displaying by the display screen a user interface in a selected one of a portrait or landscape display mode based on an orientation of a user feature in the captured image.
 12. The method of claim 11, further comprising analyzing by the processor the captured image to determine the orientation of the user feature relative to an axis of the device.
 13. The method of claim 11, wherein the user feature includes at least a part of a face of the user.
 14. The method of claim 11, wherein the orientation of the user feature includes an angle of a line passing through the user feature to an axis of the device.
 15. The method of claim 11, further comprising: capturing by the camera a second image of the user before the detecting; and comparing by the processor an orientation of the user feature in the captured image to an orientation of a user feature in the second captured image, wherein the displaying is based on the comparing.
 16. The method of claim 11, wherein the displaying maintains a display mode that the display screen displays prior to the detecting if the orientation of the user feature does not change relative to an orientation of a user feature in a second image captured by the camera before the detecting by more than a threshold amount.
 17. The method of claim 11, wherein the displaying switches from a display mode that the display screen displays prior to the detecting if the orientation of the user feature changes relative to an orientation of a user feature in a second image captured by the camera before the detecting by more than a threshold amount.
 18. A portable electronic device, comprising: a camera; an inertial sensor; a display screen; and a processor, wherein the processor is configured to control the camera, inertial sensor, and display screen to: detect movement of the device representing a change in orientation of the device relative to gravity; capture an image of a user of the device in response to the detecting; and display a user interface in a selected one of a portrait or landscape display mode based on an orientation of a user feature in the captured image.
 19. The portable electronic device of claim 18, wherein the processor is configured to analyze the captured image to determine the orientation of the user feature relative to an axis of the device.
 20. The portable electronic device of claim 18, wherein the user feature includes at least a part of a face of the user.
 21. The portable electronic device of claim 18, wherein the orientation of the user feature includes an angle of a line passing through the user feature to an axis of the device.
 22. The portable electronic device of claim 18, wherein the processor is configured to control the camera and display screen to: capture a second image of the user before the detecting; and compare an orientation of the user feature in the captured image to an orientation of a user feature in the second captured image, wherein the displaying is based on the comparing.
 23. The portable electronic device of claim 18, wherein the displaying maintains a display mode that the display screen displays prior to the detecting if the orientation of the user feature does not change relative to an orientation of a user feature in a second image captured by the camera before the detecting by more than a threshold amount.
 24. The portable electronic device of claim 18, wherein the displaying switches from a display mode that the display screen displays prior to the detecting if the orientation of the user feature changes relative to an orientation of a user feature in a second image captured by the camera before the detecting by more than a threshold amount.
 25. A non-transitory machine-readable storage medium having program instructions, which when executed by a processor perform a method for use in a portable electronic device having a camera, an inertial sensor, the processor and a display screen, the method comprising: detecting movement of the device representing a change in orientation of the device relative to gravity; capturing an image of a user of the device in response to the detecting; and displaying a user interface in a selected one of a portrait or landscape display mode based on an orientation of a user feature in the captured image.
 26. The non-transitory machine-readable storage medium of claim 25, wherein the method further comprises analyzing the captured image to determine the orientation of the user feature relative to an axis of the device.
 27. The non-transitory machine-readable storage medium of claim 25, wherein the user feature includes at least a part of a face of the user.
 28. The non-transitory machine-readable storage medium of claim 25, wherein the orientation of the user feature includes an angle of a line passing through the user feature to an axis of the device.
 29. The non-transitory machine-readable storage medium of claim 25, wherein the method further comprises: capturing a second image of the user before the detecting; and comparing an orientation of the user feature in the captured image to an orientation of a user feature in the second captured image, wherein the displaying is based on the comparing.
 30. The non-transitory machine-readable storage medium of claim 25, wherein the displaying maintains a display mode that the display screen displays prior to the detecting if the orientation of the user feature does not change relative to an orientation of a user feature in a second image captured by the camera before the detecting by more than a threshold amount.
 31. The non-transitory machine-readable storage medium of claim 25, wherein the displaying switches from a display mode that the display screen displays prior to the detecting if the orientation of the user feature changes relative to an orientation of a user feature in a second image captured by the camera before the detecting by more than a threshold amount. 